Conventional real-time embedded systems utilize one or more timers to tell the system when certain tasks need to be performed. To minimize the time that high current components are turned on, it can be beneficial to maintain a sense of time to a higher precision. However, the conventional way to do this is using higher frequency oscillators and timers, but this increases the power consumption. A need therefore exists for methods and systems for providing high precision clocking in an embedded system without using a high frequency oscillator or timer.
One of the major power consumers in an embedded system is the microprocessor, so to minimize the power consumption the system should minimize the use of this microprocessor while still providing the desired functionality and level of programmability. A need therefore exists for methods and systems for reducing or minimizing the use of a microprocessor in an embedded system while maintaining functionality of the system.
For power- or energy-constrained embedded systems, a key technique for minimizing power and energy consumption is to maximize the amount of time that high current components of the system are turned off. Likewise, turning components on or moving the system from one power level to another often consumes additional energy due to node capacitances being charged or oscillators needing time to stabilize, so minimizing the number of times that such transitions are made is also important for keeping the average power and energy consumption low. A need therefore exists for methods and systems for reducing or minimizing the number of times that components of low-power embedded systems are turned on or that the power level of such systems are moved.